← חזרה לכל המדריכים
מדעי המחשב

מה זה משתנה בלולאה

🔁

משתנה הוא שם שמחזיק ערך בזיכרון: גיל=16, סכום=0. לולאה חוזרת על פעולות כל עוד תנאי מתקיים, או על פני אוסף. משתנה בלולאה הוא לרוב מונה (i) שמתחיל בערך, נבדק בתנאי, ומתעדכן בכל סיבוב — אחרת הלולאה אינסופית. ב־for על רשימה המשתנה מקבל כל איבר בתורו. בלי להבין את המשולש אתחול־תנאי־עדכון לא עוברים אלגוריתמים.

משתנה מחוץ ללולאה

סכום=0 לפני הלולאה, ובפנים סכום=סכום+מספר. המשתנה צובר. אם מאפסים בפנים, תמיד יישאר המספר האחרון בלבד. זו טעות קלאסית בממוצע ציונים.

טיפוסים: מספר שלם, מחרוזת, בוליאני, רשימה. בלולאה על מחרוזת המשתנה יכול להיות תו. ערבוב טיפוסים גורם לשגיאות.

דוגמה: while מונה עד 5

  1. אתחול

    i = 1

  2. תנאי

    כל עוד i <= 5

  3. גוף

    הדפס את i

  4. עדכון

    i = i + 1. בלי זה i נשאר 1 לעד.

for מול while

for כשמספר הסיבובים ידוע או שיש אוסף. while כשהעצירה תלויה בקלט או בתנאי מורכב. שניהם צריכים דרך להתקדם. בפייתון for i in range(5) האתחול והעדכון מובנים.

לולאה בתוך לולאה: משתנים שונים i,j. לא למחזר את אותו מונה בשתי רמות בלי כוונה.

טעויות נפוצות

  • שכחת עדכון — לולאה אינסופית.
  • איפוס מצבר בתוך הלולאה.
  • off-by-one: לרוץ עד 10 במקום 9 או להפך.
  • שינוי רשימה תוך כדי ריצה עליה בלי זהירות.
  • להשתמש במשתנה לפני אתחול.
💡 טיפ: כתבו על דף: ערך i בכל סיבוב. אם i לא זז — מצאתם באג. מצברים מאותחלים לפני הלולאה.

שאלות נפוצות

מה זה משתנה בלולאה?
שם ששומר ערך שמשתנה בין סיבובים, לרוב מונה או איבר נוכחי מהאוסף.
למה לולאה לא נעצרת?
התנאי נשאר אמת כי שכחתם לעדכן את המשתנה שבתנאי.
מה אתחול?
הערך הראשון לפני הסיבוב הראשון, למשל i=0 או סכום=0.
for או while?
for לאוסף או טווח ידוע. while לתנאי גמיש.
אפשר כמה משתנים?
כן: מונה, סכום, דגל מצאתי. כל אחד עם תפקיד.
מה זה range?
בפייתון מייצר סדרת מספרים ל־for, עם התחלה סוף וקפיצה.

רוצים לראות את מורה-מורה בגוגל?

הוסיפו אותנו כמקור מועדף — והתוכן שלנו יופיע גבוה יותר בחיפושים שלכם.